home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Graphics / Misc / Wood.0.72 / Sources / WoodDoc_WindowDelegate.m < prev    next >
Encoding:
Text File  |  1995-09-14  |  1.3 KB  |  63 lines

  1. #import "wooddoc.h"
  2.  
  3. @implementation WoodDoc (WindowDelegate)
  4.  
  5. - windowWillClose:sender
  6. {
  7.     int save;
  8.  
  9.     if([self needsSaving] && ![self isEmpty]){
  10.         [window makeKeyAndOrderFront:self];
  11.         if(theOOEClient != nil)
  12.             [self save:self];
  13.         else {
  14.             save = NXRunAlertPanel(localString("Close"),
  15.                                localString("%s has changes. Save them?"),
  16.                                localString("Save"),
  17.                                localString("Don't Save"),
  18.                                localString("Cancel"),
  19.                                name);
  20.             if(save != NX_ALERTDEFAULT && save != NX_ALERTALTERNATE) 
  21.                 return nil;
  22.             else {
  23.                 [window endEditingFor:self];    
  24.                 if(save == NX_ALERTDEFAULT){
  25.                     if(![self save:nil]) 
  26.                         return nil;
  27.                 }
  28.             }
  29.         }
  30.     }
  31.     [self docWillClose_OOE:self];
  32.     [undoManager emptyUndoManager];
  33.     [window setDelegate:nil];
  34.     window = nil;
  35.     if(printInfo) 
  36.         [NXApp setPrintInfo:nil];
  37.     return [NXApp freeDoc:self];
  38. }
  39.  
  40. - windowDidBecomeMain:sender
  41. {
  42.     [NXApp setPrintInfo:printInfo];
  43.     [[NXApp inspectorManager] inspect:lastSelectedNode];
  44.     return self;
  45. }
  46.  
  47. - windowWillMiniaturize:sender toMiniwindow:counterpart
  48. {
  49.     char *dot;
  50.     char title[MAXPATHLEN+1];
  51.  
  52.     strcpy(title, [self name]);
  53.     dot = rindex(title, '.');
  54.     if (dot && !strcmp(++dot, [[self class] docExtension])) 
  55.         *(--dot) = '\0';
  56.     [counterpart setTitle:title];
  57.     [sender setMiniwindowIcon:"WoodDoc"];
  58.     return self;
  59. }
  60.  
  61.  
  62. @end
  63.